package com.itheima.d4_file;

import java.io.File;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 目标：掌握File提供的判断文件类型、获取文件信息功能
 * public boolean exists()	判断当前文件对象，对应的文件路径是否存在，存在返回true
 * public boolean isFile()	判断当前文件对象指代的是否是文件，是文件返回true，反之。
 * public boolean isDirectory()	判断当前文件对象指代的是否是文件夹，是文件夹返回true，反之。
 * public String getName()	获取文件的名称（包含后缀）
 * public long length()	获取文件的大小，返回字节个数
 * public long lastModified()	获取文件的最后修改时间。
 * public String getPath()	获取创建文件对象时，使用的路径
 * public String getAbsolutePath()	获取绝对路径
 */
public class FileTest2 {
    public static void main(String[] args) throws UnsupportedEncodingException {
        // 1.创建文件对象，指代某个文件
        File f = new File("C:\\Users\\ysh61\\Desktop");
        System.out.println(f);

        //创建一个父路径
        String str="C:\\Users";
        File file1=new File(str,"ysh61\\Desktop");
        System.out.println(file1);
        // 2、public boolean exists()：判断当前文件对象，对应的文件路径是否存在，存在返回true.
        boolean exists = f.exists();
        if (file1.exists()){
            System.out.println("文件存在");
        }else {
            System.out.println("文件不存在");
        }
        // 3、public boolean isFile() : 判断当前文件对象指代的是否是文件，是文件返回true，反之。
        if (f.isFile()) {
            System.out.println("是文件");
        }
        // 4、public boolean isDirectory()  : 判断当前文件对象指代的是否是文件夹，是文件夹返回true，反之。
        if (f.isDirectory()) {
            System.out.println("是文件夹");
        }else {
            System.out.println("不是");
        }
        // 5.public String getName()：获取文件的名称（包含后缀）
        System.out.println(f.getName());
        // 6.public long length()：获取文件的大小，返回字节个数
        long length = file1.length();
        System.out.println(length);
        // 7.public long lastModified()：获取文件的最后修改时间。 返回的是毫秒值,还需要转成Date
        long l = file1.lastModified();
        Date date=new Date(l);
        System.out.println(date);
        SimpleDateFormat simpleDateFormat=new SimpleDateFormat();
        String format = simpleDateFormat.format(date);
        System.out.println(format);
        // 8.public String getPath()：获取创建文件对象时，使用的路径
        String path = file1.getPath();
        System.out.println(path);
        // 9.public String getAbsolutePath()：获取绝对路径
        String absolutePath = file1.getAbsolutePath();
        System.out.println(absolutePath);
    }
}
